package models

import (
	"gorm.io/gorm"
	"hospital-srv/basic/inits"
	"time"
)

// 用户反馈表
type UserOpinion struct {
	Id             uint64         `gorm:"column:id;type:bigint UNSIGNED;primaryKey;not null;" json:"id"`
	UserId         uint64         `gorm:"column:user_id;type:bigint UNSIGNED;comment:用户id;not null;" json:"user_id"`              // 用户id
	Name           string         `gorm:"column:name;type:varchar(255);comment:称呼;not null;" json:"name"`                         // 称呼
	Mobile         string         `gorm:"column:mobile;type:varchar(255);comment:联系方式;not null;" json:"mobile"`                   // 联系方式
	OpinionType    string         `gorm:"column:opinion_type;type:varchar(255);comment:反馈类型;not null;" json:"opinion_type"`       // 反馈类型
	OpinionTitle   string         `gorm:"column:opinion_title;type:varchar(255);comment:反馈标题;not null;" json:"opinion_title"`     // 反馈标题
	OpinionDetails string         `gorm:"column:opinion_details;type:varchar(255);comment:返回详情;not null;" json:"opinion_details"` // 返回详情
	CreatedAt      time.Time      `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdatedAt      time.Time      `gorm:"column:updated_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"`
	DeletedAt      gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
}

// 用户反馈表
func (uo *UserOpinion) TableName() string {
	return "user_opinion"
}

// 反馈添加
func (uo *UserOpinion) UserOpinionAdd() error {
	return inits.DB.Create(&uo).Error
}
